// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information.
//
// ███╗   ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
// ████╗  ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
// ██╔██╗ ██║██║   ██║   ██║   ██║██║     █████╗
// ██║╚██╗██║██║   ██║   ██║   ██║██║     ██╔══╝
// ██║ ╚████║╚██████╔╝   ██║   ██║╚██████╗███████╗
// ╚═╝  ╚═══╝ ╚═════╝    ╚═╝   ╚═╝ ╚═════╝╚══════╝
// ------------------------------------------------
//
// This file is automatically generated.
// Please do not edit these files manually.
//
// ------------------------------------------------

#nullable restore

using System;
using System.Linq;
using Elastic.Clients.Elasticsearch.Serialization;

namespace Elastic.Clients.Elasticsearch.SearchApplication;

public partial class SearchApplicationNamespacedClient : Elastic.Clients.Elasticsearch.NamespacedClientProxy
{
	/// <summary>
	/// <para>
	/// Initializes a new instance of the <see cref="Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationNamespacedClient"/> class for mocking.
	/// </para>
	/// </summary>
	protected SearchApplicationNamespacedClient() : base()
	{
	}

	internal SearchApplicationNamespacedClient(Elastic.Clients.Elasticsearch.ElasticsearchClient client) : base(client)
	{
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationResponse Delete(Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationResponse Delete(Elastic.Clients.Elasticsearch.Name name)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationResponse Delete(Elastic.Clients.Elasticsearch.Name name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationResponse> DeleteAsync(Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationResponse> DeleteAsync(Elastic.Clients.Elasticsearch.Name name, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationResponse> DeleteAsync(Elastic.Clients.Elasticsearch.Name name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.DeleteSearchApplicationRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsResponse DeleteBehavioralAnalytics(Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequestParameters>(request);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsResponse DeleteBehavioralAnalytics(Elastic.Clients.Elasticsearch.Name name)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequestParameters>(request);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsResponse DeleteBehavioralAnalytics(Elastic.Clients.Elasticsearch.Name name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsResponse> DeleteBehavioralAnalyticsAsync(Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequestParameters>(request, cancellationToken);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsResponse> DeleteBehavioralAnalyticsAsync(Elastic.Clients.Elasticsearch.Name name, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequestParameters>(request, cancellationToken);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsResponse> DeleteBehavioralAnalyticsAsync(Elastic.Clients.Elasticsearch.Name name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.DeleteBehavioralAnalyticsRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationResponse Get(Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationResponse Get(Elastic.Clients.Elasticsearch.Name name)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationResponse Get(Elastic.Clients.Elasticsearch.Name name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationResponse> GetAsync(Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationResponse> GetAsync(Elastic.Clients.Elasticsearch.Name name, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationResponse> GetAsync(Elastic.Clients.Elasticsearch.Name name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetSearchApplicationRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse GetBehavioralAnalytics(Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestParameters>(request);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse GetBehavioralAnalytics()
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestParameters>(request);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse GetBehavioralAnalytics(System.Action<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestParameters>(request);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse GetBehavioralAnalytics(System.Collections.Generic.ICollection<Elastic.Clients.Elasticsearch.Name>? name)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestParameters>(request);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse GetBehavioralAnalytics(System.Collections.Generic.ICollection<Elastic.Clients.Elasticsearch.Name>? name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse> GetBehavioralAnalyticsAsync(Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestParameters>(request, cancellationToken);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse> GetBehavioralAnalyticsAsync(System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestParameters>(request, cancellationToken);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse> GetBehavioralAnalyticsAsync(System.Action<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestParameters>(request, cancellationToken);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse> GetBehavioralAnalyticsAsync(System.Collections.Generic.ICollection<Elastic.Clients.Elasticsearch.Name>? name, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestParameters>(request, cancellationToken);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse> GetBehavioralAnalyticsAsync(System.Collections.Generic.ICollection<Elastic.Clients.Elasticsearch.Name>? name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.GetBehavioralAnalyticsRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.ListResponse List(Elastic.Clients.Elasticsearch.SearchApplication.ListRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.ListRequest, Elastic.Clients.Elasticsearch.SearchApplication.ListResponse, Elastic.Clients.Elasticsearch.SearchApplication.ListRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.ListResponse List()
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.ListRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.ListRequest, Elastic.Clients.Elasticsearch.SearchApplication.ListResponse, Elastic.Clients.Elasticsearch.SearchApplication.ListRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.ListResponse List(System.Action<Elastic.Clients.Elasticsearch.SearchApplication.ListRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.ListRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.ListRequest, Elastic.Clients.Elasticsearch.SearchApplication.ListResponse, Elastic.Clients.Elasticsearch.SearchApplication.ListRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.ListResponse> ListAsync(Elastic.Clients.Elasticsearch.SearchApplication.ListRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.ListRequest, Elastic.Clients.Elasticsearch.SearchApplication.ListResponse, Elastic.Clients.Elasticsearch.SearchApplication.ListRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.ListResponse> ListAsync(System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.ListRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.ListRequest, Elastic.Clients.Elasticsearch.SearchApplication.ListResponse, Elastic.Clients.Elasticsearch.SearchApplication.ListRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.ListResponse> ListAsync(System.Action<Elastic.Clients.Elasticsearch.SearchApplication.ListRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.ListRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.ListRequest, Elastic.Clients.Elasticsearch.SearchApplication.ListResponse, Elastic.Clients.Elasticsearch.SearchApplication.ListRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventResponse PostBehavioralAnalyticsEvent(Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequest, Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventResponse, Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequestParameters>(request);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventResponse PostBehavioralAnalyticsEvent(Elastic.Clients.Elasticsearch.Name collectionName, Elastic.Clients.Elasticsearch.SearchApplication.EventType eventType)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequestDescriptor(collectionName, eventType);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequest, Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventResponse, Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequestParameters>(request);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventResponse PostBehavioralAnalyticsEvent(Elastic.Clients.Elasticsearch.Name collectionName, Elastic.Clients.Elasticsearch.SearchApplication.EventType eventType, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequestDescriptor(collectionName, eventType);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequest, Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventResponse, Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventResponse> PostBehavioralAnalyticsEventAsync(Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequest, Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventResponse, Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequestParameters>(request, cancellationToken);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventResponse> PostBehavioralAnalyticsEventAsync(Elastic.Clients.Elasticsearch.Name collectionName, Elastic.Clients.Elasticsearch.SearchApplication.EventType eventType, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequestDescriptor(collectionName, eventType);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequest, Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventResponse, Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequestParameters>(request, cancellationToken);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventResponse> PostBehavioralAnalyticsEventAsync(Elastic.Clients.Elasticsearch.Name collectionName, Elastic.Clients.Elasticsearch.SearchApplication.EventType eventType, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequestDescriptor(collectionName, eventType);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequest, Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventResponse, Elastic.Clients.Elasticsearch.SearchApplication.PostBehavioralAnalyticsEventRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationResponse Put(Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationResponse Put(Elastic.Clients.Elasticsearch.Name name)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationResponse Put(Elastic.Clients.Elasticsearch.Name name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationResponse> PutAsync(Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationResponse> PutAsync(Elastic.Clients.Elasticsearch.Name name, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationResponse> PutAsync(Elastic.Clients.Elasticsearch.Name name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequest, Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationResponse, Elastic.Clients.Elasticsearch.SearchApplication.PutSearchApplicationRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsResponse PutBehavioralAnalytics(Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequestParameters>(request);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsResponse PutBehavioralAnalytics(Elastic.Clients.Elasticsearch.Name name)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequestParameters>(request);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsResponse PutBehavioralAnalytics(Elastic.Clients.Elasticsearch.Name name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsResponse> PutBehavioralAnalyticsAsync(Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequestParameters>(request, cancellationToken);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsResponse> PutBehavioralAnalyticsAsync(Elastic.Clients.Elasticsearch.Name name, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequestParameters>(request, cancellationToken);
	}

	[System.Obsolete("Deprecated in '9.0.0'.")]
	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsResponse> PutBehavioralAnalyticsAsync(Elastic.Clients.Elasticsearch.Name name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequest, Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsResponse, Elastic.Clients.Elasticsearch.SearchApplication.PutBehavioralAnalyticsRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryResponse RenderQuery(Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequest, Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryResponse, Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryResponse RenderQuery(Elastic.Clients.Elasticsearch.Name name)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequest, Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryResponse, Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryResponse RenderQuery(Elastic.Clients.Elasticsearch.Name name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequest, Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryResponse, Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryResponse> RenderQueryAsync(Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequest, Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryResponse, Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryResponse> RenderQueryAsync(Elastic.Clients.Elasticsearch.Name name, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequest, Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryResponse, Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryResponse> RenderQueryAsync(Elastic.Clients.Elasticsearch.Name name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequest, Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryResponse, Elastic.Clients.Elasticsearch.SearchApplication.RenderQueryRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchResponse<TDocument> Search<TDocument>(Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequest, Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchResponse<TDocument>, Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchResponse<TDocument> Search<TDocument>(Elastic.Clients.Elasticsearch.Name name)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequest, Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchResponse<TDocument>, Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchResponse<TDocument> Search<TDocument>(Elastic.Clients.Elasticsearch.Name name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequest, Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchResponse<TDocument>, Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchResponse<TDocument>> SearchAsync<TDocument>(Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequest, Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchResponse<TDocument>, Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchResponse<TDocument>> SearchAsync<TDocument>(Elastic.Clients.Elasticsearch.Name name, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequestDescriptor(name);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequest, Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchResponse<TDocument>, Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchResponse<TDocument>> SearchAsync<TDocument>(Elastic.Clients.Elasticsearch.Name name, System.Action<Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequestDescriptor(name);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequest, Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchResponse<TDocument>, Elastic.Clients.Elasticsearch.SearchApplication.SearchApplicationSearchRequestParameters>(request, cancellationToken);
	}
}